// #include <csignal>
// #include <execinfo.h>

#include <string>

#include "test.hpp"
#include "table.hpp"

/*********************************************************************
 * @brief ...
 */
hude::logger_default_t _;


/*********************************************************************
 * @brief 打印crash报告
 */
// void crash_report( int signum )
// {
//     const int len = 1024;
//     void *func[len];
//     size_t i, size;
//     char **funs;
// 
//     signal(signum, SIG_DFL);
// 
//     size = backtrace(func, len);
//     funs = (char **)backtrace_symbols(func, size);
// 
//     fprintf(stderr, "System error, Stack trace:\n");
// 
//     for (i = 0; i < size; ++i)
//         fprintf(stderr, "%d %s \n", i, funs[i]);
// 
//     free(funs);
// }

/*********************************************************************
 * @brief main
 */
int main( int argc, const char* argv[] )
{
    // // Invaild memory address
    // signal( SIGSEGV, crash_report );
    // // Abort signal
    // signal( SIGABRT, crash_report );

    hude::log_debug_info_t::level( hude::log_level_t::emMAX_LOG_LEVEL );

    auto& test = hude::test::test_t::obj();

    auto ret = test.run( argc, argv );

    return ret;
}

